{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4be32278-7998-4a52-be3b-02fd1e8f3c0c",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "20ccfa58-d999-49e0-bec4-46484a0c0daa",
   "metadata": {},
   "outputs": [],
   "source": [
    "import csv\n",
    "import re\n",
    "import datetime\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import random\n",
    "import json\n",
    "import ast\n",
    "import math\n",
    "import os\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8951be40-6d34-4400-b234-9b90c2a7f563",
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('display.max_colwidth', None)\n",
    "pd.set_option('display.max_rows', 10000)\n",
    "pd.set_option('display.max_columns', 5000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9ab39c09-0494-492b-a91b-8494d3a6439e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.dates as mdates\n",
    "import matplotlib.ticker as ticker\n",
    "from matplotlib.gridspec import GridSpec\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0cd0bf9e-1ec1-48c0-a3a7-aedbac092a16",
   "metadata": {},
   "outputs": [],
   "source": [
    "SMALL_SIZE = 10\n",
    "MEDIUM_SIZE = 18\n",
    "BIGGER_SIZE = 24\n",
    "\n",
    "plt.rc('font', size=MEDIUM_SIZE)          # controls default text sizes\n",
    "plt.rc('axes', titlesize=BIGGER_SIZE)     # fontsize of the axes title\n",
    "plt.rc('axes', labelsize=MEDIUM_SIZE)    # fontsize of the x and y labels\n",
    "plt.rc('xtick', labelsize=SMALL_SIZE)    # fontsize of the tick labels\n",
    "plt.rc('ytick', labelsize=SMALL_SIZE)    # fontsize of the tick labels\n",
    "plt.rc('legend', fontsize=SMALL_SIZE)    # legend fontsize\n",
    "#plt.rc('figure', titlesize=BIGGER_SIZE)  # fontsize of the figure title\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "47ebe990-4b25-48a8-b595-e1ce702568da",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dcweekly=pd.read_csv('/zfs/disinfo/wordpress_scraper/dcweekly/dcweekly_posts_narrow.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "be4d3b9f-5be0-4222-b30d-8e11a701ec24",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['id', 'date_gmt', 'link'], dtype='object')"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_dcweekly.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "a81d2a5b-064b-4fbc-bf1d-a013bef5459a",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dcweekly['datetime']=pd.to_datetime(df_dcweekly.date_gmt)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "43757416-1dc2-4423-bb3d-be58c465ca0e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dcweekly['date']=df_dcweekly['datetime'].dt.date\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "418627c3-a7fa-4ddf-b011-1605ad3faeb3",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dcweekly.index=df_dcweekly['datetime']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "13a506b9-9e35-405c-a3f7-4f6699520efe",
   "metadata": {},
   "outputs": [],
   "source": [
    "years = mdates.YearLocator()   # every year\n",
    "months = mdates.MonthLocator()  # every month\n",
    "days = mdates.DayLocator()  # every month\n",
    "hours = mdates.HourLocator()  # every month\n",
    "yearsFmt = mdates.DateFormatter('%Y')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "7ecace28-a8d1-41ca-a46c-fc42a3bd97cc",
   "metadata": {},
   "outputs": [],
   "source": [
    "from localreg import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "a1400285-5fa6-4c07-bb5d-594168c3bc80",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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m/j73/9eMWB88skny5adPXs22267LU9/+tPZddddOfDAA9l2223LDm1tbfT29m409PX1lU0f7bRVq1axfPlynnrqKbq7u1mzZk3Zura1tVUMPCsFo5p66hFcXg28GTgE+EHJtAPInkF5XUqpv6TMW/My55aUObQoT8E9wDJg54hYVKbH2HJlJEmSpIZ7+OGH+fnPf86VV17JL3/5S5566qmhaXPmzBkKCHfbbTcOPvjgigHjrFmzxvS5W2yxBVtsscU4f5vhenp66O7upru7m+XLl2/0ujD+29/+xvLly+nt7S07n/b29mEB5/bbb89OO+00NOy44472GjsJxegeXVlUIOIg4DfA91NKbykzfQ5Z8DcH2L/wrMuIaCML9vYFjk4pXVBUZj/ghrzcXoVnXUbEQrLWzw5g1/y5l4Uy/w/4InAxcFThWZcRcThwKfA3YPfiZ2BWsnjx4rRkyZKRskmSJEljtm7dOn7/+99z5ZVXcsUVV3DrrbcCsN1223HIIYdw6KGHstdee7HttttOu85qenp6qgahhdfLli2juBPOiOBZz3rWULC58847D71etGjRRs/H1Mgi4uaU0uKa5jGa4DIijgCOyN8+HXgl2WWt1+dpj6WUTizJfzHQB1wAPAG8luwRIhcD/5RKPjgivgJ8CHggz9MCHAVsDbw/pfRfJflbyYLV/YAlwK/Jnn35RmAAeFlK6aYRvxwGl5IkSRpf5Vonm5qa2G+//Tj00EM59NBD2WOPPbwPcQyeeuop7rrrrrJD8aXDM2bMYOHChcNaOgvDwoULaW5uRJ+mk99EBpcnA5+pkqUrpbSwpMz+wElkLZVtwN3AOcAZKaXBCp/zNuAE4LnAeuAW4NSU0uUV8rcDHweOIQssVwLXAJ9JKf1txC+WM7iUJElSLYpbJ6+88kr+9Kc/AcNbJ1/xilew5ZZbNraim6nHH398KNC88847hwWeq1atGsrX3NzMokWLNmrxfP7zn8+2227bwG/QeBMWXG7uDC4lSZI0Vo888shQ6+RVV11l6+QklFJi+fLlw4LNQvB59913D+uAaJddduHAAw8cGp75zGc2sOYTz+BynBhcSpIkaSTVWicLweTLX/5yWyeniJQSDz30EHfddRd//OMfufbaa7n++utZuXIlADvuuCMHHnggBx10EAceeOBm/7xNg8txYnApSZKkcvr7+7nkkku49NJLbZ2cBgYHB7ntttu45pprhoLNwv2cCxcuHNayuWjRos1qvRtcjhODS0mSJBW7++67Oeusszj33HN57LHHbJ2cptavX8+f//xnrr32Wq699lquu+46HnvsMQC23377YcHmTjvtNKWDTYPLcWJwKUmSpLVr13LZZZdx5pln8stf/pKmpiYOP/xwjj/+eA4++GBmzJjR6CqqwdavX8/f/va3oWDz2muvZfny5UB2eXRxsLnrrrtOqWDT4HKcGFxKkiRNX/fffz9nn302Z599Ng899BDbb789xx13HO985zt5xjOe0ejqaRJLKXHHHXcMCzYfeughALbZZhsOOOAADjzwQF75yley0047Nbi21RlcjhODS0mSpOllcHCQq666ijPPPJPLL7+clBKHHHII73nPezj00EN9FqI2SUqJe+65Z+iezWuvvZb7778fgMWLF3PMMcdw1FFHTcqTFgaX48TgUpIkaXp49NFHOeecczjrrLNYunQp22yzDe985zt597vfzaJFixpdPW1mUkrcd999XHrppZx//vncfPPNRAQvfelLOfroo3nDG97AvHnzGl1NwOBy3BhcSpIkbb5SSlx77bWceeaZXHLJJaxdu5aXvvSlHH/88RxxxBG0tLQ0uoqaJu68805+8IMf8P3vf5+77rqLmTNn8qpXvYpjjjmGww47jFmzZjWsbgaX48TgUpIkafPzxBNP8J3vfIczzzyTO+64g3nz5nHsscdy3HHHseuuuza6eprGUkrccsstnH/++VxwwQU89NBDzJ49m9e97nUcc8wxHHzwwcycOXNC62RwOU4MLiVJkjYPKSVuuukmzjzzTC688EL6+vrYd999Of7443njG99Ie3t7o6soDTM4OMh1113H+eefz8UXX8xTTz1FZ2cn//RP/8QxxxzDvvvuOyG9zhpcjhODS0mSpKlt1apVfP/73+fMM8/ktttuY/bs2bz1rW/lX/7lX9hjjz0aXT1pVPr7+/n5z3/OD37wA37605/S29vLggULOProoznmmGPYfffd6/bZBpfjxOBSkiRpalq+fDlf/OIX+d///V9Wr17NHnvswXve8x6OOeYYtthii0ZXT9pkq1at4ic/+Qnnn38+V111FYODg+y2224cc8wxHH300SxcuHBcP8/gcpwYXEqSJE0ta9as4fTTT+dLX/oSa9as4c1vfjPvfe972XvvvafUg+ul0eju7uaiiy7i/PPP54YbbgBgv/3245hjjuGNb3wj22yzTc2fYXA5TgwuJUmSpobBwUG+/e1v86lPfYqHHnqII444gn//93+3g54Kent76e7upq+vj7a2Njo7O73vdIrr6uriggsu4Pzzz+f222+nqamJV77ylRx33HG8+tWv3uRntI5HcDmjlsKSJEnSREgpccUVV7Dnnnvyzne+k/nz53P99dfz4x//2MCygt7eXrq6uhgcHKSjo4PBwUG6urro7e1tdNVUgwULFvCxj32M2267jT//+c989KMf5dZbb+WII45g4cKFfOYzn2HZsmUNqZvBpSRJkia1m2++mZe//OW8+tWvpre3l4suuogbb7yRF7/4xY2u2qTW3d1Na2srra2tRMTQ6+7u7kZXTeNkt91244tf/CJdXV1ceumlPP/5z+fzn/88ixYt4rDDDuOyyy5j3bp1E1Yfg0tJkiRNSkuXLuXNb34zixcv5vbbb+eMM87gb3/7G0ceeaT3VY5CX18fLS0tw9JaWlro6+trUI1UL83NzRx++OFcccUV3HvvvXziE5/glltu4bWvfS2LFi3i5JNP5v777697PQwuJUmSNKk88cQTnHjiieyyyy5ccsklfOITn+Duu+/m/e9//0bBkipra2tjYGBgWNrAwABtbW0NqpEmwsKFC/n85z9PV1cXl1xyCbvtthuf+9znWLhwIa95zWu4/PLLGRwcrMtnG1xKkiRpUujr6+MrX/kKz372s/nqV7/Km9/8Zu666y5OOeUU5s6d2+jqTTmdnZ309/fT399PSmnodWdnZ6Orpgkwc+ZMXve613HllVdyzz338PGPf5wlS5bwmte8hoULF/LZz36WBx54YFw/0+BSkiRJDbV+/Xq+//3vs+uuu3LiiSeyzz77cOutt3LOOeew/fbbN7p6U1Z7ezsLFiygqamJnp4empqaWLBggb3FTkOLFi3ilFNOYdmyZfzoRz/iuc99LieffDILFizg8MMP52c/+9m4fI6PIsFHkUiSJDXK1VdfzUc+8hFuueUW9txzT0499VRe/vKXN7pa0mbv3nvv5eyzz+acc87h0UcfBfBRJJIkSZp6/vKXv/CqV72Kgw8+mMcee4zvfve7Q73CSqq/HXbYgS9+8YssW7aMiy66aFzmaXApSZKkCfPggw/y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bialxHbbbUdLSwszZ84c01BcZvny5cyYMYNZs2YBDK3n7u7ucbvU18t6JSljcClJmtY6Ozvp6uoCshbLgYEB+vv7WbBgQYNrNjbr16+np6dnKBCsNKxatWrEPMVDSqnudW9ubqapqYmUEmvXrq3rZ7a1tTF37lzmzJnDtttuy7x580Y9lDvh4D27krSBwaUkaVqbbL2hppRYuXIlTzzxBI8//viox08++eSog7Kmpia22GILZs+ePWzYfvvtN0orDB0dHbS1tQ21LDY3NzNz5sxh76ulV8o7MDDAsmXLaG1tHQru16xZwzOe8Yyh6WvXrh3VUC7vI488wsDAACklenp6WLFiBU888QQrV66kv7+fZcuWcdttt/Hkk0+yatWqqsutra1to4CzpaWFOXPmsNVWW7Htttsyf/58tttuO2bOnMmOO+44HpuELaOSpgyDS0nStFeP3lALwUwhABxLsDg4OFhxvoVAZuutt2arrbZi0aJFbLXVVmy11VZsueWWFYPD4qGlpYWIGNfvu6mam5s3Cu532GGHcQueilsWS1umSz9j3bp1PPXUUzz55JOjGh544AG6u7tZtWoVK1euHDavpqYm5s+fzw477MCiRYvYYYcdhg1bbbXVqNaBLaOSppKYiMtdJrvFixenJUuWNLoakqRJqBAklgaIo3m9du3aivPt6OgYFiSOZjxv3jxmzpw5gd9+81DPlr9ly5YxODhIU1MTjz76KMuWLeOee+7hgQce4PHHH+fee+/l3nvvZfny5cPKzZkzZyjQLA0+FyxYMHRvaGH+xfcE9/f3DwWvkjReIuLmlNLimuZhcGlwKUmCk046iYcffrhssDgwMFCx3KxZs4ZaDguBYLnX8+bNY+uttx5KLw4WNHWNtmV09erVLF26dCjYLB7uu+++Yb0TRwTbb789O+ywA1tvvfVQwLnrrruyyy67MGPGDHp6eth5550b8ZUlbaYMLseJwaUkaYcddmBgYKBqgFjutb3KqtaW0fXr1/Poo4+WDTzvvvtuHnnkkaG8W2yxBXvuuSd77bUXr3rVq9h7773ZYost6vG1JE0zBpfjxOBSkiRNRr29vdxxxx10d3fz97//nZtuuoklS5Zw1113kVJixowZ7LHHHuy///7sv//+7Lfffl4uK2mTGFzmImJ74HPAIcDWwMPApcBnU0pPjlTe4FKSJE1W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\n",
      "text/plain": [
       "<Figure size 1080x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_dcweekly_week=df_dcweekly[['id']].resample('W').count()\n",
    "\n",
    "\n",
    "date1='2023-07-16'\n",
    "date2='2023-09-19'\n",
    "\n",
    "fig, ax=plt.subplots(figsize=(15,6))\n",
    "\n",
    "plt.scatter(graphtemp.index,df_dcweekly_week,alpha=.1,color='black')                \n",
    "\n",
    "df_dcweekly_week['row']= range(len(df_dcweekly_week))\n",
    "\n",
    "smooth1 = localreg(df_dcweekly_week[df_dcweekly_week.index<date1]['row'].array, df_dcweekly_week[df_dcweekly_week.index<date1]['id'].array, degree=2, kernel=rbf.tricube, radius=10)\n",
    "smooth2 = localreg(df_dcweekly_week[(df_dcweekly_week.index<date2)&(df_dcweekly_week.index>date1)]['row'].array, df_dcweekly_week[(df_dcweekly_week.index<date2)&(df_dcweekly_week.index>date1)]['id'].array, degree=2, kernel=rbf.tricube, radius=10)\n",
    "smooth3 = localreg(df_dcweekly_week[df_dcweekly_week.index>date2]['row'].array, df_dcweekly_week[df_dcweekly_week.index>date2]['id'].array, degree=2, kernel=rbf.tricube, radius=10)\n",
    "\n",
    "plt.plot(df_dcweekly_week[df_dcweekly_week.index<date1].index,smooth1,alpha=1,color='black')                \n",
    "plt.plot(df_dcweekly_week[(df_dcweekly_week.index<date2)&(df_dcweekly_week.index>date1)].index,smooth2,alpha=1,color='black')                \n",
    "plt.plot(df_dcweekly_week[df_dcweekly_week.index>date2].index,smooth3,alpha=1,color='black')                \n",
    "\n",
    "ax.xaxis.set_major_locator(years)\n",
    "ax.xaxis.set_minor_locator(months)\n",
    "ax.xaxis.set_major_formatter(mdates.DateFormatter('\\n%Y'))\n",
    "ax.xaxis.set_minor_formatter(mdates.DateFormatter('%b'))\n",
    "\n",
    "ax.tick_params(axis='both', which='major', labelsize=20)\n",
    "\n",
    "ax.set_xlim([datetime.date(2023, 4, 1), datetime.date(2023, 12, 1)])\n",
    "#plt.legend(['Set One','Set Two'], fontsize='xx-large')\n",
    "plt.title('Weekly DCweekly.org Weekly Output, All Post Types')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "e60b931e-7a47-4a97-8f47-e288ee02ab1b",
   "metadata": {
    "scrolled": true,
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16187"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')]['id'].sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2933a387-8ac9-4339-b80c-7b541ee51b42",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "f872d420-b536-4ba7-b09b-11916b1b8e14",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "394.75\n",
      "37.666666666666664\n",
      "953.2\n"
     ]
    }
   ],
   "source": [
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']<292.5)]['id'].mean())\n",
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']>292.5)&(df_dcweekly_week['row']<301.5)]['id'].mean())\n",
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']>301.5)]['id'].mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "54e77621-a7f3-4614-b1e1-d083f327d45c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16\n",
      "9\n",
      "10\n"
     ]
    }
   ],
   "source": [
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']<292.5)]['id'].count())\n",
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']>292.5)&(df_dcweekly_week['row']<301.5)]['id'].count())\n",
    "print(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-12-01')&(df_dcweekly_week['row']>301.5)]['id'].count())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "47e7c2ad-de8e-4e47-b9d8-ee0801ddca0c",
   "metadata": {},
   "source": [
    "###### "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "23f8fd30-dcb9-41a2-9ec6-8e99944da5a3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Estimation Equation:\t id ~ TREATED + row\n",
      "                            WLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                     id   R-squared:                       0.984\n",
      "Model:                            WLS   Adj. R-squared:                  0.982\n",
      "Method:                 Least Squares   F-statistic:                     562.4\n",
      "Date:                Wed, 01 May 2024   Prob (F-statistic):           1.29e-19\n",
      "Time:                        09:02:29   Log-Likelihood:                -112.94\n",
      "No. Observations:                  25   AIC:                             231.9\n",
      "Df Residuals:                      22   BIC:                             235.5\n",
      "Df Model:                           2                                         \n",
      "Covariance Type:                  hc1                                         \n",
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept    711.2563    301.128      2.362      0.018     121.057    1301.456\n",
      "TREATED     -343.1771     19.767    -17.361      0.000    -381.919    -304.435\n",
      "row           -1.1125      1.062     -1.047      0.295      -3.194       0.969\n",
      "==============================================================================\n",
      "Omnibus:                        0.248   Durbin-Watson:                   1.988\n",
      "Prob(Omnibus):                  0.883   Jarque-Bera (JB):                0.440\n",
      "Skew:                          -0.019   Prob(JB):                        0.803\n",
      "Kurtosis:                       2.351   Cond. No.                     2.06e+04\n",
      "==============================================================================\n",
      "\n",
      "Notes:\n",
      "[1] Standard Errors are heteroscedasticity robust (HC1)\n",
      "[2] The condition number is large, 2.06e+04. This might indicate that there are\n",
      "strong multicollinearity or other numerical problems.\n"
     ]
    }
   ],
   "source": [
    "from rdd import rdd\n",
    "model = rdd.rdd(df_dcweekly_week[(df_dcweekly_week.index>'2023-03-31')&(df_dcweekly_week.index<'2023-09-20')], 'row', 'id', cut=292.5)\n",
    "print(model.fit(cov_type='hc1').summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "2e80c591-3568-4e02-b8d0-1ed1fcd3453b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Estimation Equation:\t id ~ TREATED + row\n",
      "                            WLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                     id   R-squared:                       0.947\n",
      "Model:                            WLS   Adj. R-squared:                  0.940\n",
      "Method:                 Least Squares   F-statistic:                     176.4\n",
      "Date:                Wed, 01 May 2024   Prob (F-statistic):           1.25e-11\n",
      "Time:                        09:02:31   Log-Likelihood:                -115.96\n",
      "No. Observations:                  19   AIC:                             237.9\n",
      "Df Residuals:                      16   BIC:                             240.8\n",
      "Df Model:                           2                                         \n",
      "Covariance Type:                  hc1                                         \n",
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept   -887.7228   3176.442     -0.279      0.780   -7113.435    5337.990\n",
      "TREATED      885.9333    127.694      6.938      0.000     635.657    1136.210\n",
      "row            3.1158     10.694      0.291      0.771     -17.845      24.076\n",
      "==============================================================================\n",
      "Omnibus:                        5.133   Durbin-Watson:                   1.945\n",
      "Prob(Omnibus):                  0.077   Jarque-Bera (JB):                2.745\n",
      "Skew:                           0.737   Prob(JB):                        0.253\n",
      "Kurtosis:                       4.138   Cond. No.                     3.28e+04\n",
      "==============================================================================\n",
      "\n",
      "Notes:\n",
      "[1] Standard Errors are heteroscedasticity robust (HC1)\n",
      "[2] The condition number is large, 3.28e+04. This might indicate that there are\n",
      "strong multicollinearity or other numerical problems.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/pwarren/.local/lib/python3.9/site-packages/scipy/stats/_stats_py.py:1769: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=19\n",
      "  warnings.warn(\"kurtosistest only valid for n>=20 ... continuing \"\n"
     ]
    }
   ],
   "source": [
    "model = rdd.rdd(df_dcweekly_week[(df_dcweekly_week.index>'2023-07-17')&(df_dcweekly_week.index<'2023-12-01')], 'row', 'id', cut=301.5)\n",
    "print(model.fit(cov_type='hc1').summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "517dfacb-573b-49b4-a7d3-b76544b0adb3",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
